;Autor: [nGz] ;Wersja: 1.2 ;Alchemia z menu. ;Ponizsze zmienne mozna edytowac dla wlasnych potrzeb, okreslaja one jak ma byc ustawione menu zaraz po wlaczeniu skryptu. ;%StartMikstura - okresla, ktora mikstura ma byc wybrana na liscie (domyslnie 1, zakres 1-50). ;%StartKociol - okresla, czy pole "Kociol" ma byc zaznaczone (domyslnie #false, #true - zaznaczone, #false - odznaczone). ;%StartIlosc - okresla, jaka wartosc ma byc wpisana w pole "Ilosc" (domyslnie 0, zakres 0-x). ;%StartLiczExpy - okresla, czy pole "Uwzglednij wyjatki w liczeniu" ma byc zaznaczone (domyslnie #false, #true - zaznaczone, #false - odznaczone). ;%StartSkill - okresla, ktory skill ma byc wybrany na liscie "Skill" (domyslnie 1, 1 - Zaden, 2 - Anatomia, 3 - Wiedza o Zwierzetach, 4 - Identyfikacja, 5 - Wiedza o Broni, 6 - Wykrywanie, 7 - Madrosc, 8 - Ukrywanie, 9 - Rozmowa z duchami). ;%SkillPowtorzenia - okresla jak czesto skrypt ma wykonywac skill(co ktore uzycie Alchemii) (domyslnie 1 [czyli po kazdym uzyciu Alchemii], zakres 1-x). Zmienna ta nie wystepuje w menu poniewaz jest ona malo wazna i raczej rzadko kiedy jest potrzeba zmieniania jej. ;======================== set %StartMikstura 1 ;[1-50] set %StartKociol #false ;[#true, #false] set %StartIlosc 0 ;[0-x] set %StartLiczExpy #false ;[#true, #false] set %StartSkill 1 ;[1-9] set %SkillPowtorzenia 1 ;[1-x] ;======================== set #lpc 200 set %LicznikPowtorzen %SkillPowtorzenia set %MenuSizeX 260 set %MenuSizeY 340 menu hide menu clear menu window color btnface menu window size %MenuSizeX %MenuSizeY menu window title Menu Alchemii by [nGz] v1.2 menu font name verdana menu font size 8 menu font color black menu font bgcolor white menu font style ;================== Mikstury ==================== set %ComboMiksturyWidth %MenuSizeX - 20 menu combo create mikstury 10 10 %ComboMiksturyWidth menu combo add mikstury Mikstury: menu combo add mikstury ---------------------------------- menu combo add mikstury To co ostatnio menu combo add mikstury Leczenie: menu combo add mikstury - #spc , slaba mikstura leczenia menu combo add mikstury - #spc , mikstura leczenia menu combo add mikstury - #spc , mocna mikstura leczenia menu combo add mikstury Trucizny: menu combo add mikstury - #spc , slaba trujaca mikstura menu combo add mikstury - #spc , trujaca mikstura menu combo add mikstury - #spc , mocna trujaca mikstura menu combo add mikstury - #spc , zabojcza trujaca mikstura menu combo add mikstury Uzdrowienia: menu combo add mikstury - #spc , slaba mikstura uzdrowienia menu combo add mikstury - #spc , mikstura uzdrowienia menu combo add mikstury - #spc , mocna mikstura uzdrowienia menu combo add mikstury Zrecznosci: menu combo add mikstury - #spc , slaba mikstura zrecznosci menu combo add mikstury - #spc , mikstura zrecznosci menu combo add mikstury - #spc , mocna mikstura zrecznosci menu combo add mikstury Sily: menu combo add mikstury - #spc , slaba mikstura sily menu combo add mikstury - #spc , mikstura sily menu combo add mikstury - #spc , mocna mikstura sily menu combo add mikstury Wybuchowe: menu combo add mikstury - #spc , slaba wybuchajaca mikstura menu combo add mikstury - #spc , wybuchajaca mikstura menu combo add mikstury - #spc , mocna wybuchajaca mikstura menu combo add mikstury Odswiezania: menu combo add mikstury - #spc , odswiezajaca mikstura menu combo add mikstury - #spc , mocna odswiezajaca mikstura menu combo add mikstury Oslabienia: menu combo add mikstury - #spc , slaba mikstura oslabienia menu combo add mikstury - #spc , mikstura oslabienia menu combo add mikstury - #spc , mocna mikstura oslabienia menu combo add mikstury Inne: menu combo add mikstury - #spc , mikstura jasnosci menu combo add mikstury - #spc , elixir czystej krwi menu combo add mikstury - #spc , mikstura oslepienia menu combo add mikstury - #spc , mikstura ochrony przed trucizna menu combo add mikstury - #spc , mikstura many menu combo add mikstury - #spc , mikstura przemiany menu combo add mikstury - #spc , mikstura na wyleczenie wilkolactwa menu combo add mikstury Eliksiry: menu combo add mikstury - #spc , slaby eliksir zycia menu combo add mikstury - #spc , eliksir zycia menu combo add mikstury - #spc , slaby eliksir many menu combo add mikstury - #spc , eliksir many menu combo add mikstury - #spc , slaby eliksir wytrzymalosci menu combo add mikstury - #spc , eliksir wytrzymalosci menu combo select mikstury %StartMikstura ;================== Skille ==================== set %SkillTxtX 10 set %SkillTxtY 165 set %SkillComboX %SkillTxtX + 36 set %SkillComboY %SkillTxtY - 3 menu combo create cskill %SkillComboX %SkillComboY 150 menu combo add cskill Zaden menu combo add cskill Anatomia menu combo add cskill Wiedza o Zwierzetach menu combo add cskill Identyfikacja menu combo add cskill Wiedza o Broni menu combo add cskill Wykrywanie menu combo add cskill Madrosc menu combo add cskill Ukrywanie menu combo add cskill Rozmowa z duchami menu combo select cskill %StartSkill ;================== Ilosc ====================== set %Prostokat1X 4 set %Prostokat1Y 59 set %TxtIloscX %Prostokat1X + 6 set %TxtIloscY %Prostokat1Y + 6 set %LiczbaMiksowEditX %TxtIloscX + 36 set %LiczbaMiksowEditY %TxtIloscY - 3 set %ZeroInfTxtX %LiczbaMiksowEditX + 46 set %ChLiczExpyY %Prostokat1Y + 29 set %Kreska1X %Prostokat1X + 1 set %Kreska1Y %Prostokat1Y + 26 set %Kreska2Y %Prostokat1Y + 56 set %UwagaTxtX %Prostokat1X + 3 set %Uwaga1TxtY %Kreska2Y + 1 set %Uwaga2TxtY %Uwaga1TxtY + 12 set %Uwaga3TxtY %Uwaga2TxtY + 12 menu edit liczbamiksow %LiczbaMiksowEditX %LiczbaMiksowEditY 41 %StartIlosc menu font bgcolor btnface menu text txtilosc %TxtIloscX %TxtIloscY Ilosc: menu shape prostokat1 %Prostokat1X %Prostokat1Y 252 97 3 7 1 black 2 black menu shape kreska1 %Kreska1X %Kreska1Y 250 1 3 7 1 black 2 black menu shape kreska2 %Kreska1X %Kreska2Y 250 1 3 7 1 black 2 black menu font size 7 menu check liczexpy %TxtIloscX %ChLiczExpyY 245 25 %StartLiczExpy Uwzglednij wyjatki w liczeniu (przy uzywaniu mozdzierza) menu text zeroinf %ZeroInfTxtX %TxtIloscY (0 = nieskonczonosc) menu text uwaga1 %UwagaTxtX %Uwaga1TxtY Uwaga: w przypadku uzywania mozdzierza "Ilosc" menu text uwaga2 %UwagaTxtX %Uwaga2TxtY oznacza ilosc roztartych mikstur. Natomiast w menu text uwaga3 %UwagaTxtX %Uwaga3TxtY przypadku kotla oznacza ona ilosc udanych prob. menu font size 8 ;============================================== menu check kociol 10 38 60 15 %StartKociol Kociol menu text txtskill %SkillTxtX %SkillTxtY Skill: ;=================== Status =================== set %Prostokat2X 14 set %Prostokat2Y 194 set %ProstokatStatusW 232 set %ProstokatStatusH 85 set %ProstokatStanH 28 set %Prostokat3Y %Prostokat2Y + %ProstokatStatusH - 1 set %StatusTxtX ( %ProstokatStatusW / 2 ) + %Prostokat2X - 21 set %StatusTxtY %Prostokat2Y - 7 set %Prostokat4X %StatusTxtX - 1 set %Prostokat4Y %StatusTxtY - 1 set %SMiksyTxtX %Prostokat2X + 13 set %SMiksyTxtY %Prostokat2Y + 7 set %SNarzedzieTxtX %Prostokat2X + 5 set %SNarzedzieTxtY %Prostokat2Y + 22 set %SNarzedzieNazwaOKX %SNarzedzieTxtX + 86 set %SNarzedzieNazwaBladX %SNarzedzieTxtX + 98 set %SNarzedzieNazwaY %SNarzedzieTxtY + 1 set %SIloscTxtX %Prostokat2X + 34 set %SIloscTxtY %Prostokat2Y + 37 set %SIloscStatusMiksCntX %SIloscTxtX + 117 set %SIloscStatusNieskY %SIloscTxtY + 1 set %SLiczExpyTxtX %Prostokat2X + 8 set %SLiczExpyTxtY %Prostokat2Y + 52 set %SSkillTxtX %Prostokat2X + 37 set %SSkillTxtY %Prostokat2Y + 67 set %SSkillStatusY %SSkillTxtY + 1 set %SAllStatusX %SMiksyTxtX + 58 set %SStanTxtX %Prostokat2X + 32 set %SStanTxtY %Prostokat3Y + %ProstokatStanH / 2 - 7 set %SStan2lvlTxtY1 %SStanTxtY - 6 set %SStan2lvlTxtY2 %SStanTxtY + 6 menu shape prostokat2 %Prostokat2X %Prostokat2Y %ProstokatStatusW %ProstokatStatusH 3 7 1 blue 7 $F0F0E9 menu shape prostokat3 %Prostokat2X %Prostokat3Y %ProstokatStatusW %ProstokatStanH 3 7 1 blue 7 $C0F0C0 menu shape prostokat4 %Prostokat4X %Prostokat4Y 43 15 3 7 1 blue 7 $F0F0E9 menu font transparent #true menu font style b menu text txtstatus %StatusTxtX %StatusTxtY Status menu text txtstan %SStanTxtX %SStanTxtY Stan: menu font style menu font bgcolor btnface menu text txtsmiksy %SMiksyTxtX %SMiksyTxtY Mikstura: menu text txtsnarzedzie %SNarzedzieTxtX %SNarzedzieTxtY Narzedzie: menu text txtsilosc %SIloscTxtX %SIloscTxtY Ilosc: menu text txtsliczexpy %SLiczExpyTxtX %SLiczExpyTxtY Licz Expy: menu text txtsskill %SSkillTxtX %SSkillTxtY Skill: ;============================================== set %AnulujBtnX %MenuSizeX - 74 set %AnulujStopBtnY %MenuSizeY - 29 menu button anuluj %AnulujBtnX %AnulujStopBtnY 70 25 Anuluj menu font style b gosub ButtonStart menu show menu hideEuo gosub StatusStan Oczekuje ;============================================== PetlaGlowna: set #lpc 10 set #menubutton N/A repeat if #menubutton <> N/A goto #menubutton until #false Start: set #lpc 200 gosub ClearStatus gosub StatusStan Inicjalizacja gosub NrMikstury if ! %NrMikstury && %NrMikstury <> last { gosub BladMikstura gosub StatusStan Oczekuje goto PetlaGlowna } gosub OKMikstura gosub FindNarzedzie if #findkind = -1 { gosub BladNarzedzie gosub StatusStan Oczekuje goto PetlaGlowna } gosub OKNarzedzie gosub PobierzIlosc gosub StatusIlosc if %Ilosc = Blad { gosub StatusStan Oczekuje goto PetlaGlowna } gosub StatusLiczExpy gosub PobierzSkill gosub StatusSkill if %SkillName = Blad { gosub StatusStan Oczekuje goto PetlaGlowna } gosub ButtonStop gosub UstawCelSkilla if #menubutton = Stop goto Stop if %CelSkilla = _Blad { gosub ButtonStart gosub StatusStan Oczekuje goto PetlaGlowna } gosub UstawXYmikstury set #lpc 10 gosub Alchemia if #menubutton = Stop || #menubutton = CLOSED || #menubutton = Anuluj goto #menubutton gosub ButtonStart goto PetlaGlowna Stop: gosub ClearStatus gosub ButtonStart gosub StatusStan Oczekuje goto PetlaGlowna ;======================= Alchemia ========================= sub Alchemia set %RezultatS N/A set #menubutton N/A set %JIndexAlch N/A PetlaAlchemii: if #menubutton <> N/A return if %SkillName <> Zaden { if %LicznikPowtorzen = %SkillPowtorzenia { gosub StatusStan UseSkill gosub %SkillName } set %LicznikPowtorzen %LicznikPowtorzen - 1 if %LicznikPowtorzen <= 0 set %LicznikPowtorzen %SkillPowtorzenia } if #menubutton <> N/A return gosub StatusStan ChooseMix set %CntUseNarzedzie 0 set %CntPonownychKlikow 0 FindNarzedzie: set %CntUseNarzedzie %CntUseNarzedzie + 1 if %CntUseNarzedzie > 40 { gosub StatusStan BladUseNarzedzie if #contname = generic_gump && #contsize = 540_420 && #contposx > -248 && #contposx < 251 && #contposy > -190 && #contposy < 187 click 285 225 r return } if %nazwaNarzedzia = (kociol) finditem %TypNarzedzia G_1 else finditem %TypNarzedzia C if #findkind = -1 { gosub BladNarzedzie gosub StatusStan Oczekuje return } set #lobjectid #findid event macro 17 set %Timer #scnt2 + 4 repeat if %Timer < #scnt2 goto FindNarzedzie if #menubutton <> N/A { if #contname = generic_gump && #contsize = 540_420 && #contposx > -248 && #contposx < 251 && #contposy > -190 && #contposy < 187 click 285 225 r return } scanjournal 1 if Twa_wiedza_o_alchemii_jest_za_mala_by_wiedziec_jak_to_uzyc in #journal { gosub StatusStan Alch_malo_kociol return } if Zapisywanie_Stanu_Swiata in #journal gosub WaitForSaveEnd %Timer Timer until #contname = generic_gump && #contsize = 540_420 if %JIndexAlch = N/A set %JIndexAlch #jindex ;wait 1 set %CntUseNarzedzie 0 set %CntKlikow 0 Kliki: set %CntKlikow %CntKlikow + 1 if %CntKlikow > 3 { set %CntPonownychKlikow %CntPonownychKlikow + 1 if %CntPonownychKlikow > 5 { gosub StatusStan BladChooseMix if #contname = generic_gump && #contsize = 540_420 && #contposx > -248 && #contposx < 251 && #contposy > -190 && #contposy < 187 click 285 225 r return } goto FindNarzedzie } if #menubutton <> N/A { if #contname = generic_gump && #contsize = 540_420 && #contposx > -248 && #contposx < 251 && #contposy > -190 && #contposy < 187 click 285 225 r return } click %x1 %y1 if %NrMikstury <> last { set %Timer #scnt2 + 30 repeat if %Timer < #scnt2 goto Kliki if #menubutton <> N/A { if #contname = generic_gump && #contsize = 540_420 && #contposx > -248 && #contposx < 251 && #contposy > -190 && #contposy < 187 click 285 225 r return } until #contname = generic_gump && #contsize = 540_420 ;wait 1 click %x2 %y2 } set %Timer #scnt2 + 20 repeat if %Timer < #scnt2 goto Kliki if #menubutton <> N/A { if #contname = generic_gump && #contsize = 540_420 && #contposx > -248 && #contposx < 251 && #contposy > -190 && #contposy < 187 click 285 225 r return } until #contname <> generic_gump || #contsize <> 540_420 if %NrMikstury <> last { set %NrMikstury last gosub UstawXYmikstury } gosub StatusStan WaitingForMixEnd if %nazwaNarzedzia = (kociol) set %Timer #scnt2 + 185 else set %Timer #scnt2 + 125 repeat if #menubutton <> N/A return until #jindex <> %JIndexAlch || %Timer < #scnt2 repeat if #menubutton <> N/A return scanjournal 1 if ( _zenszen in #journal || _wilcze_jagody in #journal || _czosnek in #journal || _krwawy_mech in #journal || _mandragora in #journal || _siarka in #journal || _czarne_perly in #journal || _obsydian in #journal || _pajecze_sieci in #journal || _rubiny in #journal || _otoczak in #journal || _zyzna_gleba in #journal ) && #jcolor = 40 || Nie_masz_pustych_butelek in #journal || Masz_za_malo_butelek in #journal { gosub Brak_SkladnikowButelek if %i <> 13 return scanjournal 1 } if Zapisywanie_Stanu_Swiata in #journal gosub WaitForSaveEnd %Timer Timer until %Timer < #scnt2 || Oddalil in #journal || s_miksture_i_wlozyl in #journal || Nie_udalo_Ci_sie_rozetrzec_skladnikow in #journal || s_wyjatkowej_jakosci_miksture_i_wlozyl in #journal || _mikstur_w_kotle in #journal || Your_skill_in_Alch in #journal set %JIndexAlch #jindex if Oddalil in #journal goto FindNarzedzie if Your_skill_in_Alch in #journal { for %i 1 3 { scanjournal %i if s_miksture_i_wlozyl in #journal || s_wyjatkowej_jakosci_miksture_i_wlozyl in #journal || _mikstur_w_kotle in #journal break } if %i = 4 scanjournal 1 } if s_miksture_i_wlozyl in #journal || s_wyjatkowej_jakosci_miksture_i_wlozyl in #journal && %LiczExpy || _mikstur_w_kotle in #journal { if %Ilosc <> Nieskonczonosc { set %Ilosc %Ilosc - 1 gosub StatusIlosc if %Ilosc = 0 { gosub StatusStan Skonczono return } } if %Ilosc = Nieskonczonosc { set %MiksCnt %MiksCnt + 1 gosub StatusSetMiksCnt } } goto PetlaAlchemii ;================================================================== sub WaitForSaveEnd set %TimerSave #scnt2 + 1000 repeat scanjournal 1 until Zapisywanie_Stanu_Swiata notin #journal && ( You_see:_ notin #journal || #jcolor <> 995 ) || %TimerSave < #scnt2 set % , %2 %1 + 1005 - ( %TimerSave - #scnt2 ) return sub Brak_SkladnikowButelek set %JournalMem #journal set %i 0 if Nie_masz_pustych_butelek notin #journal && Masz_za_malo_butelek notin #journal { for %i 1 12 { scanjournal %i if #journal = Potrzebujesz: && #jcolor = 40 break } } if %i <> 13 gosub StatusStan %JournalMem return ;================================================================== sub UstawXYmikstury if %NrMikstury = last { set %x1 510 set %y1 60 return } if %NrMikstury >= 1 && %NrMikstury <= 3 set %x1 118 if %NrMikstury >= 4 && %NrMikstury <= 7 set %x1 218 if %NrMikstury >= 8 && %NrMikstury <= 10 set %x1 338 if %NrMikstury >= 11 && %NrMikstury <= 13 set %x1 448 if %NrMikstury >= 14 && %NrMikstury <= 16 set %x1 513 if %NrMikstury >= 17 && %NrMikstury <= 19 set %x1 143 if %NrMikstury >= 20 && %NrMikstury <= 21 set %x1 263 if %NrMikstury >= 22 && %NrMikstury <= 24 set %x1 368 if %NrMikstury >= 25 && %NrMikstury <= 31 set %x1 428 if %NrMikstury >= 32 && %NrMikstury <= 37 set %x1 513 if %NrMikstury >= 1 && %NrMikstury <= 16 set %y1 114 if %NrMikstury >= 17 && %NrMikstury <= 37 set %y1 385 if %NrMikstury = 1 || %NrMikstury = 8 || %NrMikstury = 11 || %NrMikstury = 14 || %NrMikstury = 17 || %NrMikstury = 22 2 set %x2 314 set %y2 210 if %NrMikstury = 2 || %NrMikstury = 6 || %NrMikstury = 9 || %NrMikstury = 12 || %NrMikstury = 15 || %NrMikstury = 18 || %NrMikstury = 23 2 set %x2 184 set %y2 300 if %NrMikstury = 3 || %NrMikstury = 7 || %NrMikstury = 10 || %NrMikstury = 13 || %NrMikstury = 16 || %NrMikstury = 19 || %NrMikstury = 24 2 set %x2 394 set %y2 300 if %NrMikstury = 4 2 set %x2 184 set %y2 210 if %NrMikstury = 5 2 set %x2 394 set %y2 210 if %NrMikstury = 20 2 set %x2 184 set %y2 250 if %NrMikstury = 21 2 set %x2 394 set %y2 250 if %NrMikstury = 25 2 ;jasnosci set %x2 114 set %y2 210 if %NrMikstury = 26 2 set %x2 284 set %y2 195 if %NrMikstury = 27 2 set %x2 444 set %y2 210 if %NrMikstury = 28 2 set %x2 284 set %y2 265 if %NrMikstury = 29 2 set %x2 114 set %y2 300 if %NrMikstury = 30 2 set %x2 444 set %y2 300 if %NrMikstury = 31 2 set %x2 284 set %y2 330 if %NrMikstury = 32 2 set %x2 154 set %y2 210 if %NrMikstury = 33 2 set %x2 154 set %y2 305 if %NrMikstury = 34 2 set %x2 294 set %y2 210 if %NrMikstury = 35 2 set %x2 294 set %y2 305 if %NrMikstury = 36 2 set %x2 434 set %y2 210 if %NrMikstury = 37 2 set %x2 434 set %y2 305 return ;========================== Skille ============================ sub Anatomia set %SkroconaNazwa ana gosub UzyjSkillaZTargetem if #targcurs = 1 key ESC return sub AnimalLore set %SkroconaNazwa wie gosub UzyjSkillaZTargetem set %TimerAL #scnt2 + 30 repeat scanjournal 1 until _na_oswojenie_tego_zwierza in #journal || Nie_masz_szans_by_je_oswoic in #journal || To_stworzenie_ in #journal || Nie_udalo_Ci_sie_ocenic_tego_zwierzecia in #journal || Nie_wiesz_jak_to_ocenic in #journal || Stoisz_za_daleko in #journal || %TimerAL < #scnt2 || %RezultatS = Blad_Cel || #menubutton <> N/A if %RezultatS <> Blad_Cel && #menubutton = N/A { if _na_oswojenie_tego_zwierza in #journal || Nie_masz_szans_by_je_oswoic in #journal { set %TimerAL #scnt2 + 9 repeat scanjournal 1 until To_stworzenie_ in #journal || %TimerAL < #scnt2 || #menubutton <> N/A } if To_stworzenie_ in #journal { set %TimerAL #scnt2 + 8 repeat until %TimerAL < #scnt2 || #menubutton <> N/A } } if #targcurs = 1 key ESC return sub Ident set %SkroconaNazwa ide gosub UzyjSkillaZTargetem if #targcurs = 1 key ESC return sub ArmsLore set %SkroconaNazwa bro gosub UzyjSkillaZTargetem if #targcurs = 1 key ESC return sub Wykrywanie set %JIndexSkill #jindex WykrywanieLoop: event macro 1 0 .um wyk set %TimerSkilla #scnt2 + 10 repeat if %TimerSkilla < #scnt2 goto WykrywanieLoop if #menubutton <> N/A return until #jindex <> %JIndexSkill set %TimerSkilla #scnt2 + 4 repeat if %TimerSkilla < #scnt2 goto WykrywanieLoop if #menubutton <> N/A return scanjournal 1 if Zapisywanie_Stanu_Swiata in #journal wait 120 until Nie_znalazl in #journal || :_Znalazl in #journal || Your_skill_in_Wyk in #journal || Your_skill_in_Det in #journal return sub Madrosc set %SkroconaNazwa mad gosub UzyjSkillaZTargetem if #targcurs = 1 key ESC return sub Ukrywanie if H in #charstatus set %BylUkryty #true else set %BylUkryty #false set %JIndexSkill #jindex UkrywanieLoop: event macro 1 0 .um ukr set %TimerSkilla #scnt2 + 10 repeat if %TimerSkilla < #scnt2 goto UkrywanieLoop if #menubutton <> N/A return until #jindex <> %JIndexSkill set %TimerSkilla #scnt2 + 4 repeat if %TimerSkilla < #scnt2 goto UkrywanieLoop if #menubutton <> N/A return if H notin #charstatus set %BylUkryty #false scanjournal 1 if Zapisywanie_Stanu_Swiata in #journal wait 120 until ( H in #charstatus && ! %BylUkryty ) || ukryl in #journal || nie_udalo_Ci_sie_ukryc in #journal || Nie_uda_Ci_sie_schowac_wierzchowca in #journal || Wrog_Cie_juz in #journal || Your_skill_in_Ukr in #journal || Your_skill_in_Hid in #journal return sub SpiritSpeak set %JIndexSkill #jindex SpiritSLoop: event macro 1 0 .um roz set %TimerSkilla #scnt2 + 10 repeat if %TimerSkilla < #scnt2 goto SpiritSLoop if #menubutton <> N/A return until #jindex <> %JIndexSkill set %TimerSkilla #scnt2 + 4 repeat if %TimerSkilla < #scnt2 goto SpiritSLoop if #menubutton <> N/A return scanjournal 1 if Zapisywanie_Stanu_Swiata in #journal wait 120 until _z_drugim_swiatem. in #journal || Your_skill_in_Roz in #journal || Your_skill_in_Spi in #journal return sub UzyjSkillaZTargetem UzyjSkilla: gosub SprawdzCel if %RezultatS = Blad_Cel || #menubutton <> N/A return event macro 1 0 .um %SkroconaNazwa set %TimerSkilla #scnt2 + 4 repeat if %TimerSkilla < #scnt2 goto UzyjSkilla scanjournal 1 if Zapisywanie_Stanu_Swiata in #journal wait 120 if #menubutton <> N/A return until #targcurs = 1 CelownikSkilla: set #ltargetid %CelSkilla set #ltargetkind 1 gosub SprawdzCel if %RezultatS = Blad_Cel || #menubutton <> N/A return event macro 22 set %TimerSkilla #scnt2 + 2 repeat if %TimerSkilla < #scnt2 goto CelownikSkilla if #menubutton <> N/A return until #targcurs = 0 return sub SprawdzCel finditem %CelSkilla if #findkind = -1 && %RezultatS <> Blad_Cel { gosub StatusCelSkilla Blad set %RezultatS Blad_Cel } if #findkind <> -1 && %RezultatS = Blad_Cel { gosub StatusCelSkilla OK set %RezultatS OK } return ;============================================================ sub ButtonStart menu font color black menu delete stop menu button start 4 %AnulujStopBtnY 70 25 START return sub ButtonStop menu font color black menu delete start menu button stop 4 %AnulujStopBtnY 70 25 STOP return sub OKMikstura menu font color green menu delete statusMikstura menu text statusMikstura %SAllStatusX %SMiksyTxtY OK return sub BladMikstura menu font color red menu delete statusMikstura menu text statusMikstura %SAllStatusX %SMiksyTxtY Blad return sub OKNarzedzie menu font color green menu delete statusNarzedzie menu text statusNarzedzie %SAllStatusX %SNarzedzieTxtY OK menu font style menu font size 7 menu text statusNarzedzie %SNarzedzieNazwaOKX %SNarzedzieNazwaY %nazwaNarzedzia menu font size 8 menu font style b return sub BladNarzedzie menu font color red menu delete statusNarzedzie menu text statusNarzedzie %SAllStatusX %SNarzedzieTxtY Blad menu font style menu font size 7 menu text statusNarzedzie %SNarzedzieNazwaBladX %SNarzedzieNazwaY %nazwaNarzedzia menu font size 8 menu font style b return sub StatusIlosc if %Ilosc = Blad menu font color red else menu font color green menu delete statusIlosc if %Ilosc = Nieskonczonosc { menu font size 7 menu text statusIlosc %SAllStatusX %SIloscStatusNieskY %Ilosc gosub StatusSetMiksCnt ;menu font size 8 } else menu text statusIlosc %SAllStatusX %SIloscTxtY %Ilosc if %Ilosc <> Blad && %Ilosc <> Nieskonczonosc menu set liczbamiksow %Ilosc return sub StatusSetMiksCnt menu font color green menu font size 7 menu delete statusIloscMiksCnt menu text statusIloscMiksCnt %SIloscStatusMiksCntX %SIloscStatusNieskY ( , %MiksCnt , ) menu font size 8 return sub StatusLiczExpy menu get liczexpy set %LiczExpy #menures menu font color blue menu delete statusLiczExpy if #menures menu text statusLiczExpy %SAllStatusX %SLiczExpyTxtY Tak else menu text statusLiczExpy %SAllStatusX %SLiczExpyTxtY Nie return sub StatusSkill if %SkillName = Blad menu font color red else { menu font color green menu font size 7 } menu delete statusSkill menu text statusSkill %SAllStatusX %SSkillStatusY %SkillName if %SkillName <> Blad menu font size 8 return sub StatusCelSkilla menu font size 7 menu delete statusCelSkilla if %1 = Wybierz { menu font color blue menu text statusCelSkilla %SCelSkillaX %SSkillStatusY (Wybierz Cel) } if %1 = Blad { menu font color red menu text statusCelSkilla %SCelSkillaX %SSkillStatusY (Blad) } if %1 = OK { menu font color green menu text statusCelSkilla %SCelSkillaX %SSkillStatusY (OK) } menu font size 8 return sub StatusStan menu delete statusStan if %1 = ChooseMix { menu font color $806000 menu text statusStan %SAllStatusX %SStanTxtY Wybieram miksture return } if %1 = WaitingForMixEnd { menu font size 7 menu font color $006000 menu text statusStan %SAllStatusX %SStanTxtY Czekam az zrobi miksture menu font size 8 return } if %1 = UseSkill { menu font color $00C000 menu text statusStan %SAllStatusX %SStanTxtY Skill ( , %SkillName , ) return } if %1 = Inicjalizacja { menu font color $C000D0 menu text statusStan %SAllStatusX %SStanTxtY %1 return } if %1 = Oczekuje { menu font color $F09000 menu text statusStan %SAllStatusX %SStanTxtY %1 return } if %1 = Skonczono { menu font color $F00000 menu text statusStan %SAllStatusX %SStanTxtY %1 return } if _zenszen in %1 || _wilcze_jagody in %1 || _czosnek in %1 || _krwawy_mech in %1 || _mandragora in %1 || _siarka in %1 || _czarne_perly in %1 || _obsydian in %1 || _pajecze_sieci in %1 || _rubiny in %1 || _otoczak in %1 || _zyzna_gleba in %1 { menu font color red menu text statusStan %SAllStatusX %SStanTxtY Brak skladnikow return } if Nie_masz_pustych_butelek in %1 { menu font color red menu text statusStan %SAllStatusX %SStanTxtY Brak butelek return } if Masz_za_malo_butelek in %1 { menu font color red menu text statusStan %SAllStatusX %SStanTxtY Za malo butelek return } if %1 = BladChooseMix { menu font size 7 menu font color red menu text statusStan %SAllStatusX %SStanTxtY Nie moge wybrac mikstury menu font size 8 return } if %1 = BladUseNarzedzie { menu font size 7 menu font color red menu text statusStan %SAllStatusX %SStan2lvlTxtY1 Nie moge uzyc narzedzia menu text statusStan %SAllStatusX %SStan2lvlTxtY2 %nazwaNarzedzia menu font size 8 return } if %1 = Alch_malo_kociol { menu font size 7 menu font color red menu text statusStan %SAllStatusX %SStanTxtY Za malo alchemii na kociol menu font size 8 } return ;=============================================================== sub NrMikstury menu get mikstury if #menures < 3 || #menures = 4 || #menures = 8 || #menures = 13 || #menures = 17 || #menures = 21 || #menures = 25 || #menures = 29 || #menures = 32 || #menures = 36 || #menures = 44 || #menures > 50 set %NrMikstury 0 else { if #menures = 3 set %NrMikstury last if #menures > 4 && #menures < 8 set %NrMikstury #menures - 4 if #menures > 8 && #menures < 13 set %NrMikstury #menures - 5 if #menures > 13 && #menures < 17 set %NrMikstury #menures - 6 if #menures > 17 && #menures < 21 set %NrMikstury #menures - 7 if #menures > 21 && #menures < 25 set %NrMikstury #menures - 8 if #menures > 25 && #menures < 29 set %NrMikstury #menures - 9 if #menures > 29 && #menures < 32 set %NrMikstury #menures - 10 if #menures > 32 && #menures < 36 set %NrMikstury #menures - 11 if #menures > 36 && #menures < 44 set %NrMikstury #menures - 12 if #menures > 44 && #menures < 51 set %NrMikstury #menures - 13 } return sub FindNarzedzie menu get kociol if #menures { set %TypNarzedzia tmd_umd finditem %TypNarzedzia G_1 set %nazwaNarzedzia (kociol) } else { set %TypNarzedzia rqf finditem %TypNarzedzia C set %nazwaNarzedzia (mozdzierz) } return sub PobierzIlosc menu get liczbamiksow if #menures > 0 set %Ilosc #menures else { if #menures = 0 { set %Ilosc Nieskonczonosc set %MiksCnt 0 } else set %Ilosc Blad } return sub PobierzSkill menu get cskill if #menures < 1 || #menures > 9 set %SkillName Blad else { if #menures = 1 set %SkillName Zaden if #menures = 2 { set %SkillName Anatomia set %SCelSkillaX %SAllStatusX + 53 } if #menures = 3 { set %SkillName AnimalLore set %SCelSkillaX %SAllStatusX + 61 } if #menures = 4 { set %SkillName Ident set %SCelSkillaX %SAllStatusX + 33 } if #menures = 5 { set %SkillName ArmsLore set %SCelSkillaX %SAllStatusX + 52 } if #menures = 6 set %SkillName Wykrywanie if #menures = 7 { set %SkillName Madrosc set %SCelSkillaX %SAllStatusX + 44 } if #menures = 8 set %SkillName Ukrywanie if #menures = 9 set %SkillName SpiritSpeak } return sub UstawCelSkilla set #menubutton N/A set %CelSkilla 0 if %SkillName in Zaden_Ident_Wykrywanie_Ukrywanie_SpiritSpeak { if %SkillName = Ident { finditem %TypNarzedzia if #findkind = -1 { set %CelSkilla _Blad gosub StatusCelSkilla Blad } else { set %CelSkilla #findid gosub StatusCelSkilla OK } } return } wait 10 gosub StatusCelSkilla Wybierz if #targcurs = 1 key ESC set #targcurs 1 set #sysmsgcol 1152 event sysmessage Wskaz Cel skilla: %SkillName PetlaUstawCelSkilla: repeat onhotkey ESC goto Wcisnieto_ESC if #menubutton <> N/A { set #targcurs 0 set #sysmsgcol 1080 event sysmessage Anulowano. if #menubutton = Stop return if #menubutton = CLOSED || #menubutton = Anuluj goto #menubutton } until #targcurs = 0 onhotkey ESC { Wcisnieto_ESC: if #targcurs = 1 goto PetlaUstawCelSkilla set %CelSkilla _Blad gosub StatusCelSkilla Blad set #sysmsgcol 1080 event sysmessage Nie wskazales celu. return } set %CelSkilla #ltargetid gosub StatusCelSkilla OK return sub ClearStatus menu delete statusMikstura menu delete statusNarzedzie menu delete statusIlosc menu delete statusIloscMiksCnt menu delete statusLiczExpy menu delete statusSkill menu delete statusCelSkilla return Anuluj: menu hide Closed: halt